CAD systems are used by engineers and others in conceiving and designing parts and assemblies of parts. The output of a CAD system is a native file which incorporates many elements of the design, e.g., the design geometry, the purpose of or interest in the design, the functions to be performed, the materials to be used, etc. CAD files may be shared between CAD systems but the size of the files, and in particular, the size of design geometry section of the files, makes the use thereof cumbersome.
In an attempt to address this problem, a number of systems have been developed for creating “light-weight,” reduced content files. These systems employ different techniques including approximations of the model surfaces, tessellation, classes of surface equations and the like.
A viewer is an application which visualizes the CAD file of a particular assembly of parts and creates, on a display screen, a solid, i.e., three dimensional (3D), model representation or image of the assembly and the parts thereof. Viewer applications can be used for digital model mock-ups (for interference checking, clearance checking, mechanism automation and the like) or in visualization (e.g., in viewing and mark-up. collaboration) or in publishing (of, e.g., a maintenance manual, assembly manual, or the like).
Moreover, if one wishes to change the highlighting of a part (or, similarly, the visibility of a part from visible to invisible), although there are a number of methods for doing this, the process is a multi-step, piecemeal process. For example, for making a part invisible, currently available methods include: (1) clicking on the image of the part to select the part and then clicking on an icon to make the part disappear; (ii) clicking on an icon to switch to an “invisible” mode and clicking on the part that is to be made invisible; and (iii) clicking on the tree structure for the assembly, selecting a part and then changing the visibility attribute of the part. Moreover, the multi-step process must be repeated for each part that is to be made invisible.
The problems discussed above have been made more difficult by a very new development in art, i.e., the ability to display, in real time (e.g., at a frame rate of 30 frames per second), on a standard computer, a 3D model containing thousands of parts, or even tens of thousands of parts. In this regard, before this development, standard computers were only able to display a smaller number of parts in real time or were only able to display such a large number of parts (i.e., on the order of thousands of parts) at frame rates so low so as to not allow any interaction by the user. The methods referenced above have become at best impractical.
A viewer, i.e., a software application that enables visualization of a 3D model, typically provides two or three windows as follows: (i) a 3D model window depicting the overall solid or 3D model; (ii) a tree structure window depicting the tree structure of the parts of the model as a list; and (iii) in some viewers, a window depicting the properties or attributes of the part or parts currently being selected. Such viewers typically include functions such as a highlighting function wherein clicking on a part from the list in the tree structure window will result in highlighting of a corresponding part in the 3D model window and wherein, conversely, clicking on a part in the 3D model window will result in highlighting of the name of the part in the tree structure window.
As the number of parts displayed increases, the user has to separate the core of the problem that he is trying to solve from its context. In a model of 10,000 parts, the user may be directly interested only in a few hundred of these parts, but may want to understand the location of the parts and how they fit with their environment (the context).